#!/usr/bin/env node

const inquirer = require('inquirer')
const ejs = require('ejs')
const path = require('path')
const fs = require('fs')

inquirer.prompt([{
  type: 'input',
  name: 'projectName',
  message: 'project name'
}]).then((answer) => {
  // 模板目录 __dirname 当前js执行的根目录
  const templateDir = path.join(__dirname, 'template')

  // 当前Node.js进程执行时的工作目录，就是在哪个目录下执行的node命令行工具
  const output = process.cwd()

  // 读取问价夹
  fs.readdir(templateDir, (error, files) => {
    if (error) throw error
    // 遍历文件，对文件使用ejs进行模板处理
    files.forEach(file => {
      ejs.renderFile(path.join(templateDir, file), answer, (err, content) => {
        if (err) throw err
        // 处理完毕进行输出
        fs.writeFileSync(path.join(output, file), content)
      })
    })
  })
})